import org.junit.Test;

public class PackingAPI {
/*
 * Java面向对象---不是真正面向对象---八大基本数据类型
 * 创建对象---类[属性,构造器,方法]
 * 八大数据类型(不是面向对象)           针对八大基本数据类型对应包装类
 *int                               Integer 继承父类[抽象]
 * long                             Long    继承Number父类[抽象]
 * double                           Double   继承Number父类[抽象]
 * short                            Short    继承Number父类[抽象]
 * float                            Float    继承Number父类[抽象]
 * byte                             Byte     继承Number父类[抽象]
 * char                             Character  继承Number父类[抽象]
 * Boolean                           Boolean   继承Number父类[抽象]
 */

public class packingapi {

public void test(){
int a=1;//不是面向对象,通过.[反射]
//创建int类型
Integer i=new Integer(a);
i.toString();
}
}

    /**
     * 包装类API
     */

    public void testxxxValue(){
    Integer i=new Integer(2);
        System.out.println(i);
        //测试:其他7个包装类  10分钟
        String s1="123.123";
         Double d=new Double(s1);
         d =d.doubleValue();
        System.out.println(d);
        String s2="1";//Byte
        Byte b=new Byte(s2);
        b=b.byteValue();
        System.out.println(b);
        String s3="124.124F";     //Float
        Float f=new Float(125.F);
        float f1=f.floatValue();
        System.out.println(f1);
        String s4="1234L";
        //Long 异常NumberFormatException
        Long L=new Long(5678L);
        L=L.longValue();
        System.out.println(L);
    String s5="true";  //Boolean
        Boolean b1=new Boolean(s5);
        b1=b1.booleanValue();
        System.out.println(b1);
        char s6= 'a';
        Character c=new Character(s6);


}
/**
 * 包装类静态方法
 * valueOf() 返回值:对应数据类型
 * 作用:
 */
@Test
    public void testValueOf(){
    int i=Integer.valueOf(1);//打包拆包一体化
    Boolean.valueOf(true);
    char c=Character.valueOf('1');
    Float.valueOf(1.123F);
}
    /**
     * 包装类-----Servlet[JavaBean==实体类]
     * public class  Person{
     *     Integer id; //成员变量--解析
     * }
     * parsexxx() 静态方法 返回值:对应类型
     * 作用:获取到的字符串转换为对应类型
     */
@Test
    public void testParsexxx(){
    String s="123";//
    int i=Integer.parseInt(s);//
    int is=Integer.valueOf(s);//
    System.out.println(i==is);
    //将整型转换为字符串
    String s1=String.valueOf(123);
    //自己测: String s2="456f"; char s3='a';
    String s2="456f";
    float f=Float.parseFloat(s2);
    System.out.println(f);
    char s3='a';
    //Character
}
/**
 * 自动拆装箱
 *
 */
@Test
    public void testJ(){
    //JDK
    Integer in=Integer.valueOf(1);
    int ii=in.intValue();
    //JDK1.5之后自动拆装箱
    Integer i=1;
    int is= i;
    //编译器帮我们写了拆装箱的过程---JVm虚拟机认1.5之前的写法
}
 }
